/*
输入两个正整数m和n，求其最大公约数和最小公倍数。
*/
#include <stdio.h>
#include<windows.h>
#include<string.h>
int main(){
    int m,n,temp;
    int i=1;
    scanf("%d %d",&m,&n);
    /*求最大公约数有两种办法 一是相减法 二是辗转相除法
    相减法就是互相减到两个数相等 辗转相除法是不断取模到模为0
    以下为辗转相除法*/
    /*求最小公倍数可采用翻倍法，让大数翻到一个倍刚好是小数的倍数则该数则为最小公倍数*/
    if(m==n){
        printf("最大公约数:%d\n最小公倍数:%d",m,m);
    }
    else if(m>n){
        for(i=1;i*m%n!=0;i++){
        }
        printf("最小公倍数:%d\n",i*m);/*若交换位置的话 由于求最大公约数m，n改变
        导致后面的求最小公倍数不行*/
        while(m%n!=0){
            temp=m%n;
            m=n;
            n=temp;
            }
        printf("最大公约数:%d",n);
        }
    else{
        for(i=1;i*n%m!=0;i++){
        }
        printf("最小公倍数:%d\n",i*n);
        while(n%m!=0){
            temp=n%m;
            n=m;
            m=temp;
            }
        printf("最大公约数:%d",m);
    }
        

        
    
    system("pause");
}